package com.ruoyi.warehouse.mapper;

import com.ruoyi.warehouse.domain.CpkcFnishedProductInventory;
import com.ruoyi.warehouse.domain.CprkProductStorageForm;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface ProductStorageMapper {
    /**
     * 查询产品入库
     *
     * @param rkCode 产品入库主键
     * @return 产品入库
     */
    public CprkProductStorageForm selectCprkProductStorageFormByRkCode(String rkCode);

    /**
     * 查询产品入库列表
     *
     * @param cprkProductStorageForm 产品入库
     * @return 产品入库集合
     */
    public List<CprkProductStorageForm> selectCprkProductStorageFormList(CprkProductStorageForm cprkProductStorageForm);

    /**
     * 新增产品入库
     *
     * @param cprkProductStorageForm 产品入库
     * @return 结果
     */
    public int insertCprkProductStorageForm(CprkProductStorageForm cprkProductStorageForm);

    /**
     * 修改产品入库
     *
     * @param cprkProductStorageForm 产品入库
     * @return 结果
     */
    public int updateCprkProductStorageForm(CprkProductStorageForm cprkProductStorageForm);

    /**
     * 删除产品入库
     *
     * @param rkCode 产品入库主键
     * @return 结果
     */
    public int deleteCprkProductStorageFormByRkCode(String rkCode);

    /**
     * 批量删除产品入库
     *
     * @param rkCodes 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCprkProductStorageFormByRkCodes(String[] rkCodes);

    /**
     * 审核
     *
     * @param cprkProductStorageForm 需要删除的数据主键集合
     * @return 结果
     */
    public int insertCpkcStorage(CprkProductStorageForm cprkProductStorageForm);
    public int updateCpkcStorage(CprkProductStorageForm cprkProductStorageForm);

    public int selectCpkcCount(CprkProductStorageForm cprkProductStorageForm);

    /**
     * 审核修改
     *
     * @param rkCode 需要删除的数据主键集合
     * @return 结果
     */
    public int updateCprkIsUse(String rkCode);

    /**
     * 撤销修改
     *
     * @param rkCode 需要撤销的数据主键集合
     * @return 结果
     */
    public int updateCprkIsUseCancel(String rkCode);
    public int updateCpkcStorageCancel(CprkProductStorageForm cprkProductStorageForm);

    /**
     * 产品信息
     *
     * @param cpkc
     * @return 结果
     */
    public List<CprkProductStorageForm> selectCp(CpkcFnishedProductInventory cpkc);
}
